<h1>README</h1>

<h2>About</h2>

<p>Logtalk is a <em>declarative object-oriented logic programming language</em> that
extends and leverages the Prolog language with a feature set suitable for
programming in the large. Logtalk supports modern code encapsulation and
code reuse mechanisms without compromising the declarative programming
features of Prolog.</p>

<p>Logtalk is implemented as a trans-compiler in highly portable code and can
use most modern and standards compliant Prolog implementations as a backend
compiler.</p>

<p>As a multi-paradigm language, Logtalk includes support for both <em>prototypes</em>
and <em>classes</em>, <em>protocols</em> (<em>interfaces</em>), <em>categories</em> (components and
hot-patching), <em>event-driven programming</em>, <em>coinduction</em>, <em>lambda expressions</em>,
and <em>high-level multi-threading programming</em>. Logtalk uses standard Prolog
syntax with the addition of some operators and directives for a smooth learning
path.</p>

<p>Logtalk is distributed under a commercial friendly license and includes full
documentation, portable libraries, portable developer tools, and a large number
of programming examples to help get you started.
</p>

<h2>Logtalk web site</h2>

<p>The latest release of the Logtalk is always available at the URL:</p>

<blockquote>
  <p><a href="https://logtalk.org/">https://logtalk.org/</a></p>
</blockquote>

<p>At this address you can also find additional documentation and information
about Logtalk.</p>

<h2>Installation</h2>

<p>Logtalk can be installed either from sources by running a few shell scripts 
or by using one of the provided installers, depending on your operating 
system. For manual installation, see the file <code>INSTALL.md</code> for detailed 
instructions.</p>

<p>See the Handbook for a description of the source files organization 
and for using instructions (to read the Handbook open the file 
<code>docs/handbook/index.html</code> with a web browser).</p>

<p>If you are upgrading from a previous Logtalk version, please check the
<code>UPGRADING.md</code> file for instructions on how to upgrade your
programs or your custom adapter files to run under this new version.</p>

<h2>Customization</h2>

<p>The file <code>CUSTOMIZE.md</code> provides detailed instructions for customizing the  
Logtalk installation and working environment.</p>

<h2>Running</h2>

<p>The file <code>QUICK_START.md</code> provides quick instructions for those of you in a hurry 
to run Logtalk, provided that your favorite Prolog compiler is supported.</p>

<h2>Documentation</h2>

<p>A quick and highly recommended introduction for users comfortable with Prolog
and with general knowledge about object-oriented programming is available at
<a href="https://learnxinyminutes.com/docs/logtalk/">Learn X in Y minutes website</a>.</p>

<p>The HTML version of the Logtalk Handbook is included with the sources and can
be found in the <code>docs/handbook</code> directory. It's also available online
at the  <a href="https://logtalk.org/docs/handbook/index.html">Logtalk website</a>.</p>

<p>The Handbook is the entry point for the Logtalk documentation. It includes the
user manual, the reference manual, glossary, FAQ, the library overviews, plus
the developer tools documentation.</p>

<p>The <code>RELEASE_NOTES.md</code> file contains descriptions of all
Logtalk updates since the first public version. Check it carefully if you
have been using a previous Logtalk version.</p>

<p>The API documentation for the core, library, tools, and contributions entities
is provided in XHTML format and can be found in the <code>docs/apis</code> directory and
also available online on the <a href="https://logtalk.org/docs/apis/index.html">Logtalk website</a>.</p>

<p>Most directories include <code>NOTES.md</code> or <code>NOTES.txt</code> documentation files.</p>

<p>On POSIX systems, there's also a man page for most shell scripts.
A list of these scripts can be generated using the <code>apropos logtalk</code> command.
<a href="https://logtalk.org/docs/man/">HTML versions of the man pages</a> are also available
at the Logtalk website.

<h2>Registration</h2>

<p>
To register as a Logtalk user either use the registration form found at the Logtalk web site, <a href="https://logtalk.org/regform.html">https://logtalk.org/regform.html</a>, or send an email message to:</p>

<blockquote>
  <p><a href="&#109;&#x61;&#105;l&#116;&#111;:&#x72;&#101;&#103;&#x69;&#115;t&#x72;&#97;&#116;&#x69;&#111;n&#64;&#x6C;o&#x67;&#x74;&#x61;l&#107;.o&#114;&#103;">&#x72;&#101;&#103;&#x69;&#115;t&#x72;&#97;&#116;&#x69;&#111;n&#64;&#x6C;o&#x67;&#x74;&#x61;l&#107;.o&#114;&#103;</a></p>
</blockquote>

<p>with the following information:</p>

<p>email address, full name, organization, organization type (education, 
commercial, government, ...), prolog compilers used (optional), 
platforms (mac, pc, unix,...) (optional)</p>

<h2>Support</h2>

<p>Support channels include:</p>

<ul>
<li><a href="https://logtalk.org/support.html#professional-services">Professional services</a></li>
<li><a href="https://github.com/LogtalkDotOrg/logtalk3/discussions">Community discussion forums</a></li>
<li><a href="https://gitter.im/LogtalkDotOrg/logtalk3">Community live chat room</a></li>
</ul>

<p>Please consult <a href="https://logtalk.org/support.html">https://logtalk.org/support.html</a> for more information.</p>

<h2>Citations</h2>

<p>If you want to cite Logtalk in your publications, please consult the file 
<code>BIBLIOGRAPHY.bib</code> for bibliographic references in BibTeX format.</p>

<h2>Contributions</h2>

<p>Contributions are most welcome! See the <code>CONTRIBUTING.md</code> file
for details.
</p>

<h2>Legal</h2>

<p>Logtalk is copyrighted by Paulo Moura. The Logtalk use and distribution
license can be found in the <code>LICENSE.txt</code>. Logtalk is available
under the Apache License 2.0. The copyright notice and license applies to
all files in this release unless otherwise explicitly stated. See the
<code>NOTICE.txt</code> for detailed copyright information.</p>

<p>Some files that are part of the Logtalk distribution are distributed using
a different license and/or are copyrighted by a Logtalk contributor.</p>

<p>Some of the included examples are adaptations to Logtalk of Prolog examples
found elsewhere (e.g., in manuals, tutorials, books, and public mailing list
discussions). The copyright in the examples original code should be assumed
to belong to the original authors.</p>

<p>Logtalk is a registered trademark of Paulo Moura.</p>
